import greenfoot.*;  // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)

/**
 * Clase Fuego subclase de un Obstaculo para la representación de fuego
 * @author Programación Orientada a Objetos (Adrian Cerda Cerda , Jorge Armando Tovar Ojeda)
 * @version Maze of Souls (24 de noviembre del 2012)
 */

public class Fuego extends Obstaculo
{
    private long reloj; // para el intercambio de las imagenes en cierto tiempo
    private int imagen=0;// variable que actualiza las imagenes
    /**
     * Actua del Fuego
     */
    public void act() 
    {
        if(tiempo())
        {
          cambiaImagen();
        }
        quemar();
    }    
    /**
     * Cambia la imagen de fuego cada cierto tiempo
     * @return true si se ha cambiado o false si no
     */
    public boolean tiempo()
    {       
         if(System.currentTimeMillis()-reloj>200)
                {
                 imagen= Greenfoot.getRandomNumber(5);
                 reloj=System.currentTimeMillis();
                 return true;
                }
         else
             return false;
    }
    /**
     * Hace el cambio de las imagenes
     */
    public void cambiaImagen()
    {
        switch(imagen)
        {
            case 0: setImage("Fuego2.PNG");
                break;
             case 1: setImage("Fuego4.PNG");
                break;
            case 2: setImage("Fuego1.PNG");
                break;
            case 3: setImage("Fuego.PNG");
                break;
            case 4: setImage("Fuego3.PNG");
                break;
        }
    }
    /**
     * Para disminuir la vida del jugador si ha interactuado con este objeto
     */
    public void quemar()
    {
        Actor l;
        l= getOneIntersectingObject(Link.class);
        if(l!=null)
        {
              Fondo f= (Fondo) super.getWorld();
                f.cambiaVida(-1);
        }
    }
        
}
